home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / oper_sys / choices / choicess.lha / README < prev    next >
Text File  |  1989-02-06  |  2KB  |  53 lines

  1. This is the Choices Simulator.  The files are grouped as follows:
  2.  
  3.     Choices classes:
  4.  
  5.         CPU.[ch]
  6.         Exception.[ch]
  7.         FIFOQueue.[ch]
  8.         Object.[ch]
  9.         Process.[ch]
  10.         ProcessContainer.[ch]
  11.         ProcessQueue.[ch]
  12.         SoftwareException.[ch]
  13.  
  14.     Misc.:
  15.         Main.c    - ``boot'' code.  Can be customized/configured.
  16.         Name.[ch] - instance name construction.
  17.         Queue.[ch] - generic queue.
  18.         Semaphore.[ch] - user-level semaphore.
  19.         User.[ch] - user-level task manipulation.
  20.  
  21.     Microtimeslicing:
  22.  
  23.         Clock.[ch] - signal handler, etc.
  24.         Signal.h - hacked /usr/include/sys/signal.h. See the file.
  25.  
  26.     Printing, debugging, etc.:
  27.         Assert.[ch] - conditionally compiled assertions.
  28.         Print.[ch] - coherent printing.
  29.         Debug.[ch] - conditionally cimpiled debug printing.
  30.  
  31.     Work load:
  32.         Job.[ch] - work load.  Initial Process entry point.
  33.  
  34.     Building:
  35.         Makefile
  36.         MakeDepend - used by ``make depend.''
  37.  
  38. NOTES:
  39.     1. Function main() in Main.c is provided.  It ``configures'' and
  40.        ``boots'' the simulation.  As provided, it will start a specified
  41.        number of Processes and a specified number of CPUs (with a common
  42.        central scheduler).  Each initial Process is created so that it
  43.        begins execution at function Job() (defined in Job.c).  Function
  44.        Job() creates the simulated workload.  The one provided is just
  45.        a sample.  It can/should be modified as desired.  Also, main()
  46.        can be changed, if desired, to create different configurations.
  47.  
  48.     2. The file Signal.h is a modified version of /usr/include/sys/signal.h.
  49.        The changes were to make the struct tags start with an upper case
  50.        letter to avoid name clashes.  You should probably redo these
  51.        modifications for yourself, starting with your own
  52.        /usr/include/sys/signal.h.
  53.